package avicit.bdp.dgs.mdm.dto;

import avicit.bdp.common.base.BaseDTO;
import avicit.platform6.core.annotation.log.FieldRemark;
import avicit.platform6.core.annotation.log.Id;
import avicit.platform6.core.annotation.log.LogField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.Column;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 * @金航数码科技有限责任公司
 * @作者：developer
 * @邮箱：developer@avic-digital.com
 * @创建时间： 2023-12-06
 * @类说明：CodeDTO
 * @修改记录：
 * @注意事项：
 * @主要功能：模型中字段编码DTO
 */
@ApiModel(value = "CodeDTO", description = "模型中字段编码DTO")
@Table(name = "bdp_dgs_mdm_code")
public class CodeDTO extends BaseDTO {
    /**
     * 主键
     */
    @Id
    @LogField
    @ApiModelProperty(value = "id", name = "id")
    @FieldRemark(column = "id", field = "id", name = "主键")
    @javax.persistence.Id
    @Column(name = "id")
    private String id;

    /**
     * 模型ID
     */
    @LogField
    @ApiModelProperty(value = "名称", name = "tableId")
    @FieldRemark(column = "table_id", field = "tableId", name = "模型ID")
    @Column(name = "table_id")
    private String tableId;
    @Transient
    private String tableName;

    /**
     * 字段ID
     */
    @LogField
    @ApiModelProperty(value = "columnId", name = "字段ID")
    @FieldRemark(column = "column_id", field = "columnId", name = "字段ID")
    @Column(name = "column_id")
    private String columnId;
    @Transient
    private String columnName;

    /**
     * 规则ID
     */
    @LogField
    @ApiModelProperty(value = "ruleId", name = "规则ID")
    @FieldRemark(column = "rule_id", field = "ruleId", name = "规则ID")
    @Column(name = "rule_id")
    private String ruleId;
    @Transient
    private String ruleName;

    /**
     * 编码类型，0：流水码
     */
    @LogField
    @ApiModelProperty(value = "编码类型，0：流水码", name = "type")
    @FieldRemark(column = "type", field = "type", name = "编码类型，0：流水码")
    @Column(name = "type")
    private Integer type;
    @Transient
    private String typeName;

    /**
     * 备注
     */
    @LogField
    @ApiModelProperty(value = "备注", name = "remark")
    @FieldRemark(column = "remark", field = "remark", name = "备注")
    @Column(name = "remark")
    private String remark;

    @Transient
    private String userName;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTableId() {
        return tableId;
    }

    public void setTableId(String tableId) {
        this.tableId = tableId;
    }

    public String getTableName() {
        return tableName;
    }

    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    public String getColumnId() {
        return columnId;
    }

    public void setColumnId(String columnId) {
        this.columnId = columnId;
    }

    public String getColumnName() {
        return columnName;
    }

    public void setColumnName(String columnName) {
        this.columnName = columnName;
    }

    public String getRuleId() {
        return ruleId;
    }

    public void setRuleId(String ruleId) {
        this.ruleId = ruleId;
    }

    public String getRuleName() {
        return ruleName;
    }

    public void setRuleName(String ruleName) {
        this.ruleName = ruleName;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }
}
